草庐IT

JavaFX - 许多静态 FXML Controller

全部标签

java - 单例对象——在静态 block 中或在 getInstance() 中;应该使用哪个

下面是实现单例的两种方式。各有什么优缺点?静态初始化:classSingleton{privateSingletoninstance;static{instance=newSingleton();}publicSingletongetInstance(){returninstance;}}惰性初始化是:classSingleton{privateSingletoninstance;publicSingletongetInstance(){if(instance==null)instance=newSingleton();returninstance;}} 最

java - 静态初始化 block 的顺序

我发现了很多关于静态初始化block的帖子,但是我试图更好地了解执行顺序及其原因。下面的代码打印出两个静态block中的文本,然后“然后”打印出主静态block中的文本。我理解编译器调用它的方式是在加载类时按顺序执行所有静态block,然后访问main方法。但是由于main方法本身是静态的,为什么不按照其他静态block的顺序执行它(甚至不确定它是否有用,只是试图理解一个概念,以及是否有紧迫的理由以这种方式完成)。如果我们想在主block之后运行静态block怎么办?classCat{static{System.out.println("Thisblockwelcomesyoufirs

java - 静态工厂方法每次调用时都会创建一个新对象

在EffectiveJava中提到“与构造函数不同,静态工厂方法不需要在每次调用时都创建一个新对象”。classCar{Stringcolor;Booleanspoiler;publicCar(Strings){color=s;spoiler=false;}publicstaticCarredCar(){returnnewCar("red");}}在主类中:Carc2=Car.redCar();Carc3=Car.redCar();c2和c3是不同的对象。我没有得到“不需要每次调用都创建一个新对象”的上下文。 最佳答案 因为那是你所

java - 同名JAVA类中的静态和非静态方法

我知道不可能覆盖一个类中的方法。但是有没有办法将非静态方法用作静态方法?例如,我有一个添加数字的方法。我希望此方法对对象和没有对象都有用。是否可以在不创建其他方法的情况下做类似的事情?编辑:我的意思是,如果我将一个方法设为静态,我将需要它接受参数,如果我创建一个已经设置了变量的对象,再次使用相同的参数调用我的对象上的函数会很不舒服。publicclassTest{privateinta;privateintb;privateintc;publicTest(inta,intb,intc){this.a=a;this.b=b;this.c=c;}publicstaticStringcoun

带有 Java 代码内容荧光笔的 JavaFX 代码编辑器

我想用JavaFX编写一个类似于Eclipse/NetbeansIDE的文本编辑器来突出显示Java代码。任何人都可以建议如何实现它,或者任何人以前已经这样做过。谢谢。 最佳答案 据我所知,没有用于代码突出显示/编辑的纯JavaFX库,因此如果您想在JavaFX中实现它,您将从类似的Swing(或其他)项目进行翻译,或者您靠自己。但是,如果您想实现此目的,您可以使用这样的Javascript库并将其包装在WebView中-Jewelsea(经常路过这里)已经做到了这一点并且explaineditrathernicelyhere.

Java,大型 GUI 类,带有许多 ActionListeners;组织听众的最佳方式?

我已经开发Java程序1.5年了。我目前正在从事一个暑期项目,其中涉及相当大的图形用户界面。我的GUI由几个选项卡式Pane组成。每个Pane都有自己的类。每个Pane都有几个jButtons。现在,我已经到了一个地步,在我的选项卡式Pane类中有如此多的匿名内部类(用于ActionListeners),我确信一定有更好的方法;如果不是为了效率,那么就是为了可维护性-它变得一团糟。我的问题是:当每个类(class)都有很多听众时,是否可以更好地组织听众?我考虑过将相关类中的监听器聚类-如以下示例代码:publicclassSomeListenersimplementsActionLis

JavaFX 从 Controller 获取场景

我最近开始研究JavaFX、FXML和场景生成器,并且一直在尝试将关键监听器添加到场景的其中一个Controller。但是,当我这样做时,关键的听众并没有像他们应该的那样工作,我认为这是因为他们没有专注于那个特定的场景。我试图访问Controller所属的场景以便直接设置它,但结果是它是空场景的一部分。有没有一种方法可以访问使用此Controller的场景,以便尝试将关键事件和监听器分配给该特定场景?我应该通过整个应用程序中静态的rootController吗?或者,更好的是,是否有更简单的方法来解决这个问题?我看到的大多数示例都假设所有内容大部分都在一个主类中,或者在没有引入FXML

媒体对象上的 javafx 未知持续时间

我是Java和JavaFX的新手,过去几年我一直在使用QT在Python上进行开发,现在我正在使用Java和JavaFX进行开发。我正在开发一个程序,可以在用户设定的时间播放音乐文件,然后停止。因此,我需要从媒体对象获取持续时间,以便告诉音频何时停止(基于用户输入的时间),但是,媒体对象上的getDuration()方法总是返回未知。我在Windows8.1和openSuSE13.2(都有同样的问题)上使用JDK8u25(最新的稳定版本):Filefilestring=newFile("my/file/dir/file.mp3")Mediafile=newMedia(filestrin

java - 在静态方法中模拟 UrlEncoder

我在模拟静态方法中的UrlEncode.encode方法时遇到问题。MyEncodeClass.java有这个方法publicstaticmyEncode(Strings){UrlEncoder.encode(s,"utf-8");}我想在调用UrlEncode.encode方法时强制抛出异常。@Test(expect=UnsupportedEncodingException.class)publicvoidmyTest(){PowerMockito.mockStatic(URLEncoder.class);when(URLEncoder.encode("aa","utf-8")).t

JavaFx 2.0 游戏引擎/框架——JavaFx 2.0 将如何改变 Java 游戏?

我知道JavaFx2.0推出的时间很短,但希望有人知道FX2.0游戏引擎(或者甚至是开源开发中的此类项目)?我一直找不到一个-所以如果你找到了,请指出正确的方向。我还想知道JavaFX2.0将如何改变java游戏编程。从我读过的内容和我做过的小实验来看,我可以肯定地说,编写代码要愉快得多。而且我相信它运行在比常规Javaswing或基于awt的东西更快的硬件加速图形引擎上。但它是否足以支持任何复杂度的整个游戏框架? 最佳答案 JavaFX非常适合简单的基于浏览器的/2D游戏——Flash目前最常见的领域。原因:2D应用程序的出色性能